package com.ruoyi.interview.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.ruoyi.common.security.utils.MarkAnnotation;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 学生对象 bw_student
 *
 * @author ruoyi
 * @date 2024-05-24
 */


public class TbStudentVo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 学生主键
     */
    private Long id;

    /**
     * 学生学号
     */
    private String stuNumber;

    /**
     * 学生姓名
     */
    @Excel(name = "学生姓名")
    private String stuName;

    /**
     * 学生性别
     */
    @Excel(name = "学生性别")
    private String stuGender;

    /**
     * 身份证号码
     */
    @MarkAnnotation(start = 3, end = 4, mark = "***********")
    @Excel(name = "身份证号码")

    private String idCard;

    /**
     * 学生手机号
     */

    @MarkAnnotation(start = 3, end = 4, mark = "####")
    @Excel(name = "学生手机号")
    private String stuMobile;

    /**
     * 所属班级
     */
    @Excel(name = "所属班级")
    private Long classId;
    private String className;

    /**
     * 所属学院
     */
    @Excel(name = "所属学院")
    private Long collegeId;
    private String collegeName;

    /**
     * 所属学校
     */
    @Excel(name = "所属学校")
    private Long schoolId;
    private String schoolName;

    /**
     * 是否删除
     */
    private Long delFlag;

    /**
     * 学历
     */
    @Excel(name = "学历")
    private Long educationalId;

    /**
     * 学籍信息
     */
    @Excel(name = "学籍信息")
    private String educationalInfo;

    /**
     * 家庭住址
     */
    @Excel(name = "家庭住址")
    private String address;

    /**
     * 家长名称
     */
    @Excel(name = "家长名称")
    private String parentName;

    /**
     * 家长电话
     */
    @MarkAnnotation(start = 3, end = 4, mark = "####")
    @Excel(name = "家长电话")
    private String parentMobile;

    /**
     * 是否毕业
     */
    @Excel(name = "是否毕业")
    private Long isFinish;

    /**
     * 是否就业
     */
    @Excel(name = "是否就业")
    private Long isJob;

    /**
     * 学生头像
     */
    @Excel(name = "学生头像")
    private String stuPhoto;

    /**
     * 入学时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入学时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date enrollmentTime;

    /**
     * 毕业时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date graduationTime;

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public String getCollegeName() {
        return collegeName;
    }

    public void setCollegeName(String collegeName) {
        this.collegeName = collegeName;
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuGender(String stuGender) {
        this.stuGender = stuGender;
    }

    public String getStuGender() {
        return stuGender;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setStuMobile(String stuMobile) {
        this.stuMobile = stuMobile;
    }

    public String getStuMobile() {
        return stuMobile;
    }

    public void setClassId(Long classId) {
        this.classId = classId;
    }

    public Long getClassId() {
        return classId;
    }

    public void setCollegeId(Long collegeId) {
        this.collegeId = collegeId;
    }

    public Long getCollegeId() {
        return collegeId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setDelFlag(Long delFlag) {
        this.delFlag = delFlag;
    }

    public Long getDelFlag() {
        return delFlag;
    }

    public void setEducationalId(Long educationalId) {
        this.educationalId = educationalId;
    }

    public Long getEducationalId() {
        return educationalId;
    }

    public void setEducationalInfo(String educationalInfo) {
        this.educationalInfo = educationalInfo;
    }

    public String getEducationalInfo() {
        return educationalInfo;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public String getParentName() {
        return parentName;
    }

    public void setParentMobile(String parentMobile) {
        this.parentMobile = parentMobile;
    }


    public String getParentMobile() {
        return parentMobile;
    }

    public void setIsFinish(Long isFinish) {
        this.isFinish = isFinish;
    }

    public Long getIsFinish() {
        return isFinish;
    }

    public void setIsJob(Long isJob) {
        this.isJob = isJob;
    }

    public Long getIsJob() {
        return isJob;
    }

    public void setStuPhoto(String stuPhoto) {
        this.stuPhoto = stuPhoto;
    }

    public String getStuPhoto() {
        return stuPhoto;
    }

    public void setEnrollmentTime(Date enrollmentTime) {
        this.enrollmentTime = enrollmentTime;
    }

    public Date getEnrollmentTime() {
        return enrollmentTime;
    }

    public void setGraduationTime(Date graduationTime) {
        this.graduationTime = graduationTime;
    }

    public Date getGraduationTime() {
        return graduationTime;
    }


    public String getStuNumber() {
        return stuNumber;
    }

    public void setStuNumber(String stuNumber) {
        this.stuNumber = stuNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("stuNumber", getStuNumber())
                .append("stuName", getStuName())
                .append("stuGender", getStuGender())
                .append("idCard", getIdCard())
                .append("stuMobile", getStuMobile())
                .append("classId", getClassId())
                .append("className", getClassName())
                .append("collegeId", getCollegeId())
                .append("collegeName", getCollegeName())
                .append("schoolId", getSchoolId())
                .append("schoolName", getSchoolName())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .append("educationalId", getEducationalId())
                .append("educationalInfo", getEducationalInfo())
                .append("address", getAddress())
                .append("parentName", getParentName())
                .append("parentMobile", getParentMobile())
                .append("isFinish", getIsFinish())
                .append("isJob", getIsJob())
                .append("stuPhoto", getStuPhoto())
                .append("enrollmentTime", getEnrollmentTime())
                .append("graduationTime", getGraduationTime())
                .toString();
    }
}
